package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * Pinko交易对象 pinko_transaction
 * 
 * @author ruoyi
 * @date 2024-06-07
 */
public class PinkoTransaction extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 地址Hash */
    @Excel(name = "地址Hash")
    private String addressHash;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date transactionTime;

    private Date transactionTimeStart;
    private Date transactionTimeEnd;
    /** 数量 */
    @Excel(name = "数量")
    private Long value;

    /** 数字货币类型 ETH,BTC,TRON */
    @Excel(name = "数字货币类型 ETH,BTC,TRON")
    private String currency;

    /** 交易状态：0，提交；1，系统处理；2，区块确认；3，交易成功；4，交易失败2 */
    @Excel(name = "交易状态：0，提交；1，系统处理；2，区块确认；3，交易成功；4，交易失败2")
    private Integer transactionStatus;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String fromAddress;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String toAddress;

    /** 交易类型：0，等待；1、收款；2、转账；3，兑换；4，赚币 */
    @Excel(name = "交易类型：0，等待；1、收款；2、转账；3，兑换；4，赚币")
    private Integer transactionType;

    /** 创建者 */
    @Excel(name = "创建者")
    private Long creator;

    /** 创建者姓名 */
    @Excel(name = "创建者姓名")
    private String creatorName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 乐观锁 */
    @Excel(name = "乐观锁")
    private Long version;

    /** 更新者 */
    @Excel(name = "更新者")
    private Long updater;

    /** 更新者姓名 */
    @Excel(name = "更新者姓名")
    private String updaterName;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** 区块hash */
    @Excel(name = "区块hash")
    private String blockHash;

    /** 历史价格 */
    @Excel(name = "历史价格")
    private BigDecimal historyPrice;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setAddressHash(String addressHash)
    {
        this.addressHash = addressHash;
    }

    public String getAddressHash()
    {
        return addressHash;
    }
    public void setTransactionTime(Date transactionTime)
    {
        this.transactionTime = transactionTime;
    }

    public Date getTransactionTimeStart()
    {
        return transactionTimeStart;
    }


    public void setTransactionTimeStart(Date transactionTimeStart)
    {
        this.transactionTimeStart = transactionTimeStart;
    }

    public Date getTransactionTimeEnd()
    {
        return transactionTimeEnd;
    }
    public void setTransactionTimeEnd(Date transactionTimeEnd)
    {
        this.transactionTimeEnd = transactionTimeEnd;
    }

    public Date getTransactionTime()
    {
        return transactionTime;
    }


    public void setValue(Long value)
    {
        this.value = value;
    }

    public Long getValue()
    {
        return value;
    }
    public void setCurrency(String currency)
    {
        this.currency = currency;
    }

    public String getCurrency()
    {
        return currency;
    }
    public void setTransactionStatus(Integer transactionStatus)
    {
        this.transactionStatus = transactionStatus;
    }

    public Integer getTransactionStatus()
    {
        return transactionStatus;
    }
    public void setFromAddress(String fromAddress)
    {
        this.fromAddress = fromAddress;
    }

    public String getFromAddress()
    {
        return fromAddress;
    }
    public void setToAddress(String toAddress)
    {
        this.toAddress = toAddress;
    }

    public String getToAddress()
    {
        return toAddress;
    }
    public void setTransactionType(Integer transactionType)
    {
        this.transactionType = transactionType;
    }

    public Integer getTransactionType()
    {
        return transactionType;
    }
    public void setCreator(Long creator)
    {
        this.creator = creator;
    }

    public Long getCreator()
    {
        return creator;
    }
    public void setCreatorName(String creatorName)
    {
        this.creatorName = creatorName;
    }

    public String getCreatorName()
    {
        return creatorName;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }
    public void setUpdater(Long updater)
    {
        this.updater = updater;
    }

    public Long getUpdater()
    {
        return updater;
    }
    public void setUpdaterName(String updaterName)
    {
        this.updaterName = updaterName;
    }

    public String getUpdaterName()
    {
        return updaterName;
    }
    public void setUpdateDate(Date updateDate)
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate()
    {
        return updateDate;
    }
    public void setBlockHash(String blockHash)
    {
        this.blockHash = blockHash;
    }

    public String getBlockHash()
    {
        return blockHash;
    }
    public void setHistoryPrice(BigDecimal historyPrice)
    {
        this.historyPrice = historyPrice;
    }

    public BigDecimal getHistoryPrice()
    {
        return historyPrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("addressHash", getAddressHash())
                .append("transactionTime", getTransactionTime())
                .append("transactionTimeStart", getTransactionTimeStart())
                .append("transactionTimeEnd", getTransactionTimeEnd())
                .append("value", getValue())
                .append("currency", getCurrency())
                .append("transactionStatus", getTransactionStatus())
                .append("fromAddress", getFromAddress())
                .append("toAddress", getToAddress())
                .append("transactionType", getTransactionType())
                .append("creator", getCreator())
                .append("creatorName", getCreatorName())
                .append("createDate", getCreateDate())
                .append("version", getVersion())
                .append("updater", getUpdater())
                .append("updaterName", getUpdaterName())
                .append("updateDate", getUpdateDate())
                .append("blockHash", getBlockHash())
                .append("historyPrice", getHistoryPrice())
                .toString();
    }
}
